隨了 cloud 時代的來臨,資源分隔的界線越來越模糊,今天透過 GCP 友善 UI 介面開的虛擬機,它背後連接到的資源實體主機是哪一台,我們根本管不著。當主機記憶體不足時,我們也不在需要把創見跟金士頓兩個廠牌的記憶體放在一起,比較看看哪個 CP 值比較高,哪個晶片組比較穩定。
我們只需要相信這些雲端資雲的背後,有一堆維運工程師隨時都在監控這些機器,並確保主機的狀態是穩定的。在 cloud 上,所有的資源都是共享的,所以他們可以更有效地處理閒置資源,我們相信 cloud 平台商給我們數據,並把我們的注意力從硬體的資源分配與故障管理,轉移到怎麼好好地善用這些雲端服務,來建立更穩健的軟體系統架構,讓系統可以隨著使用者的數量增長,持續提供優質的服務。
你可能會想說,其實很早之前就有主機代管服務,我也未必需要擔心那些硬體的問題,那 cloud 時代的來臨對我還有差嗎?這個答案是肯定的。
cloud 服務提供了多種彈性的計費方式,讓我們有機會用更低的價格,挑戰那些「非常態」使用大量資源的新線上服務。透過使用 cloud 服務提供無痛感的跨境產品,今天你的產品服務對象是美國市場,還是亞洲市場,在網路基礎建設對你而言,只是開啟服務之前,選擇哪個預設的分區(Zone)而已。
在舊有的軟體架構下,有時候我們很難估算服務的增長,如果你有多個服務放置在不同的 VM,每台 VM 的可用資源又不太一樣,在這全民皆 cost down 的時代,我們常常需要手動去搬移服務,以達到每個 VM 的資源使用率最大極限來節省公司開支。由於很多公司都已將服務搬到了 cloud,如果我們不隨著時代的變遷一起升級,使用同樣等級的資源,卻要比別人付出更多的成本,等於於降低了公司的市場競爭力。
那上述這些看起來很起來很不思議的事情,也並非這麼容易達到,但陸續在這幾年誕生了非常多怪獸級的工具,例如 Docker、Kubernetes 等等,下一篇將從 Docker 是怎麼拯救了我們說起。